package cn.flying.cloud.flow.model;

import java.io.Serializable;
import java.util.Map;

/**
 * 启动流程实例
 *
 * @author: admin
 * @date: 2024年10月24日 11:12
 * @version: 1.0
 */
public class FlowStartVo implements Serializable {

    /**
     * 流程定义KEY
     */
    private String procDefKey;
    /**
     * 流程定义ID
     */
    private String procDefId;
    /**
     * 业务流水号（18位的流水号）
     */
    private String bizKey;
    /**
     * 流程名称（描述）
     */
    private String name;
    /**
     * 流程实例ID
     */
    private String procInstId;
    /**
     * 实例当前任务代理人
     */
    private String assignee;
    /**
     * 租户Id
     */
    private String tenantId;
    /**
     * 流程启动用户Id
     */
    private String startUserId;

    /**
     * 变量数据
     */
    private Map<String, Object> variables;

    /**
     * 是否自动处理发起人节点
     */
    private Boolean startNode;

    public String getProcDefKey() {
        return procDefKey;
    }

    public void setProcDefKey(String procDefKey) {
        this.procDefKey = procDefKey;
    }

    public String getProcDefId() {
        return procDefId;
    }

    public void setProcDefId(String procDefId) {
        this.procDefId = procDefId;
    }

    public String getBizKey() {
        return bizKey;
    }

    public void setBizKey(String bizKey) {
        this.bizKey = bizKey;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getProcInstId() {
        return procInstId;
    }

    public void setProcInstId(String procInstId) {
        this.procInstId = procInstId;
    }

    public String getAssignee() {
        return assignee;
    }

    public void setAssignee(String assignee) {
        this.assignee = assignee;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getStartUserId() {
        return startUserId;
    }

    public void setStartUserId(String startUserId) {
        this.startUserId = startUserId;
    }

    public Map<String, Object> getVariables() {
        return variables;
    }

    public void setVariables(Map<String, Object> variables) {
        this.variables = variables;
    }

    public Boolean getStartNode() {
        return startNode != null && startNode;
    }

    public void setStartNode(Boolean startNode) {
        this.startNode = startNode;
    }
}
